Signal processing for pulse oximetry

ABSTRACT

A signal processing technique for estimating the frequency of a pulsatile signal (including but not limited to pulse oximetry signals) is disclosed. Each of the functions contained within a pre-selected set of functions is compared to the input signal at many different time-shifts, and the function/time-shift combination that best matches the input signal is selected. The frequency of the best-matching function is then used as the best estimate of the frequency of the input signal. Optionally, once a function has been selected, the rising portion of the selected function can be correlated in time to the rising portion of the input signal. Improved results can then be obtained by basing the oxygen saturation level calculations on samples taken from the rising portion of the input signal.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. provisional application No.60/722,257, filed 30 Sep. 2005 and is a divisional of U.S. applicationSer. No. 11/536,058, filed 28 Sep. 2006.

BACKGROUND

This application relates to determining the pulse rate of a biologicalpulsatile signal in the presence of noise. The techniques describedherein are particularly useful for processing signals from pulseoximetry sensors.

Pulse oximetry is a non-invasive diagnostic procedure for measuring thelevel of oxygen saturation in a patient's arterial blood. Pulse oximetryis based on the principle of passing light energy from at least twowavelengths to a light-absorptive physiologic medium, acquiring thereflected (or transmitted) emitted light, in response to the lightabsorption, and calculating the oxygen saturation level from theacquired signals. Typical pulse oximeters have two main components: asensor attached to a patient's skin for acquiring signals, and aprocessing unit for processing the acquired signals in order todetermine the arterial blood oxygen saturation and pulse rate.Unfortunately, conventional pulse oximetry systems can be susceptible tonoise, which can result in unstable readings, inaccurate measurements ofpulse rate and oxygen saturation and false alarms. Noise can beparticularly difficult to deal with in reflection pulse oximetrysystems, where the signal levels are much smaller than in transmissionpulse oximetry systems.

SUMMARY OF THE INVENTION

Each of the functions contained within a pre-selected set of functionsis compared to the input signal at many different time-shifts, and thefunction/time-shift combination that best matches the input signal isselected. The frequency of the best-matching function is then used asthe best estimate of the frequency of the input signal.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram depicting a method for determining the pulserate of a pulsatile signal.

FIG. 2A is a first example of a Set of Pre-Defined Frequency Functions(S-PFF) for use with the method of FIG. 1.

FIG. 2B is a second example of a S-PFF for use with the method of FIG.1.

FIG. 2C is a third example of a S-PFF for use with the method of FIG. 1.

FIG. 3 is a fourth example of a S-PFF for use with the method of FIG. 1.

FIG. 4 shows an input signal and a matching function selected from theS-PFF

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

While the preferred embodiments disclosed herein are described in thecontext of pulse oximetry, the present invention can be used in othercontexts as well, including but not limited to signal processing forbiological pulsatile signals obtained from sources other than oximetryprobes.

To calculate the oxygen saturation level (SpO₂), from the acquiredsignals in a pulse oximetry system, it is often preferable to firstdetermine the pulse rate of the signals and locate the pulse location.Obtaining an accurate estimation of the pulse rate and pulse location isimportant for calculating the correct oxygen saturation level in noisysignals.

FIG. 1 is a block diagram of a preferred approach for determining thepulse rate of a pulsating input signal 20 by solving an optimizationproblem that involves a Set of Pre-Defined Frequency Functions (S-PFF).The pulsating input signal 20 and a S-PFF 22 enter a mathematicaloperator 24 for processing. The mathematical operator 24 is employed totransform a frequency estimation problem to an optimization problem. Theoutput 26 of the system is the determined pulse rate for the inputsignal.

The input signal 20 may be the raw signal obtained from the source(e.g., the oximetry probe), or it may be a preprocessed. In onepreferred embodiment, the DC and the very low frequency components ofthe input signal are removed by an appropriate preprocessing filterbefore entering the processing stage. Removing the DC component makessure the processed signal pulsates around zero and has positive andnegative peaks.

The S-PFF is a set of N periodic functions that is used in determiningthe frequency of the input signal. Preferably, the S-PFF functions areselected to resemble, at least roughly, the signals (with no noiseadded) that are expected in the desired application. The range offrequencies of the S-PFF functions, the number N of functions in a givenS-PFF, and the size of the steps between successive frequencies arepreferably selected based on the expected input signals and also basedon the required accuracy of the obtained result. The advance selectionof the functions contained within a given S-PFF may be accomplishedusing a suitable training process based on a data set that representsthe signals that will be encountered during subsequent use.

FIG. 2A is an example of a first S-PFF 30 that includes a set of Nperiodic waveforms 31-33, each having a similar symmetrical shape butwith different frequencies f₁-f_(N). FIG. 2B is an example of a secondS-PFF 40 that includes a set of N periodic waveforms 41-43, each havinga similar asymmetric shape but with different frequencies f₁-f_(N). Inalternative embodiments, a digital S-PFF 50 may be used, as shown inFIG. 2C. This third S-PFF 50 also includes a set of N periodic waveformsf₁-f_(N) 51-53, each having a similar pattern but with differentfrequencies. In these embodiments, the functions 51-53 can take on only3 values: {−1, 0, +1}. One advantage of using this type of S-PFF is thatit makes performing mathematical operations simpler and faster, ascompared to an analog S-PFF. It must be stressed that the S-PFFs 30, 40,50 depicted in FIGS. 2A-C are merely examples of S-PFFs that may beused, and are not to be construed as limiting the present invention.

In the context of pulse oximetry, the input signal that is beingprocessed is a physiological pulsating signal that originates from anoptical sensor plus large amounts of noise. The rate of pulsationcorresponds to the heart rate or pulse rate of the patient. Since theexpected pulse rate for almost all patients will be between 30 and 240beats per minute (bpm), an appropriate range of frequencies for an S-PFFused for pulse oximetry would be from ½ Hz (corresponding to 30 bpm) to4 Hz (corresponding to 240 bpm). Since many medical applications requirethe heart rate to be determined with an accuracy and resolution of 1bpm, an appropriate S-PFF for pulse oximetry would be a set 211different frequencies (N=211) ranging from 30 bpm (½ Hz) to 240 bpm (4Hz) in 1 bpm steps. If higher resolution or accuracy is desired, N canbe increased beyond 211. Optionally, the steps between the variousfrequencies can be arranged nonlinearly with smaller bpm steps at lowerfrequencies and larger steps at the higher frequencies (e.g., in alogarithmic progression in order to achieve a uniform percentageaccuracy).

In oximetry, the shape of the physiological pulsating signals in healthypatients will usually have a faster rise time and a slower fall time. Asa result, one suitable S-PFF for pulse oximetry would be the S-PFF 40shown in FIG. 2B, which also has a faster rise time and a slower falltime and therefore roughly matches the expected signal. As explainedabove, 211 frequencies (i.e., N=211) ranging from ½ Hz to 4 Hz in 1 bpmsteps is an example of an appropriate distribution of frequencies forpulse oximetry applications. In some cases, however, the shape of thephysiological pulsating waveform will differ (e.g., based on certainphysiological conditions), which can give rise to degraded performancewhen the input waveform does not match up nicely to the waveforms in theS-PFF. It is therefore advantageous to incorporate a variety ofdifferent waveshapes within the S-PFF to account for such differences.

FIG. 3 is an example of a preferred S-PFF 60 for use in pulse oximetryapplications that is optimized to handle input signals with differentwaveshapes. This S-PFF 60 includes one subset of functions 61-63 at 211different frequencies ranging from 30 bpm to 240 bpm with faster risetimes and a slower fall times, to match the expected physiologicalpulsating signals from most healthy patients. This S-PFF 60 alsoincludes a second subset of functions 64-66 at each of the 211 differentfrequencies with slower rise times and a faster fall times, to matchphysiological pulsating signals with corresponding shapes from patientswhose waveforms deviate from the more common fast-rising waveform. ThisS-PFF 60 also includes a third subset of functions 67-69 at each of the211 different frequencies with matching rise times and fall times, tomatch physiological pulsating signals with corresponding shapes frompatients whose waveforms deviate from the norm. Thus, the preferredS-PFF 60 contains a total of 633 functions (3*211). Note that a suitableduration for each of the functions 61-69 within the S-PFF 60 for use inpulse oximetry is 3-5 seconds long.

Another preferred S-PFF for use in pulse oximetry applications includesone subset of functions 61-63 at 211 different frequencies ranging from30 bpm to 240 bpm with faster rise times and a slower fall times (tomatch the expected physiological pulsating signals from most healthypatients), and a second subset of functions 67-69 at each of the 211different frequencies with matching rise times and fall times. Thispreferred S-PFF therefore contains a total of 422 functions (2*211). 3-5seconds is also a suitable duration for each of the functions 61-63,67-69 within this S-PFF.

Optionally, additional subsets of functions (not shown) may be added tomatch specific physiological conditions. For example, an additional setof 211 functions that match the physiological pulsating signals expectedfrom patients with an incompetent mitral valve may be added to one ofthe S-PFFs discussed above. (The waveform expected from such patientsdiffers from healthy patients because blood flow initially goes from theleft ventricle into the left atrium. Only after sufficient pressurebuilds up does the aortic valve open.)

Optionally, different S-PFFs may be used for different classes ofpatients such as adults, children, babies, and fetuses. For example, thefrequency range of the S-PFF may be shifted to higher frequencies forbabies (as compared to the above-described range of 30-240 bpm).

Returning now to FIG. 1, the input signal 20 contains the underlyingphysiological pulsating signal plus noise. The input signal 20 and theS-PFF 22 enter a processing stage, which includes a mathematicaloperator F 24 that is designed to estimate the frequency of the inputsignal. The mathematical operator F converts the frequency estimationproblem to an optimization problem, and its specific implementationdepends on the application on hand. As in the case of the S-PFF, themathematical operator F may be optimized and tested in a trainingsession employed on a typical data set.

In one preferred embodiment of the invention, the mathematical operatorF is defined as the following non linear operator:

F=MAX_(i,j) {a ₁ *f ₁(S _(—) PFFj(t),I(t−i))+a ₂ *f₂(S-PFFj(t),I(t−i))+a ₃ *f ₃(S-PFFj(t),I(t−i)) . . . +a_(n) *f_(n)(S-PFFj(t),I(t−i))}  (1)

Where:

-   -   f₁-f_(n) are a set of n linear or non-linear functions;    -   S-PFF is a set of pre-defined frequency functions, as detailed        above;    -   j is an index indicating a selected S-PFF function from the N        S-PFF functions defined (note that n is independent of N);    -   a₁-a_(n) are selected weighting constants    -   * is the multiplication operator;    -   I is the input signal;    -   t is an index indicating a specific sample of S-PFFj and I (i.e.        these functions at time t); and    -   i is a selected shift value, which indicates the current shift        between the function

S-PFFj and the input signal I.

The mathematical operator F represents an optimization problem, where amaximum is searched, as described by equation (1). In this way, each ofthe functions contained within the S-PFF is compared to the input signalat many different time-shifts, and the function/time-shift combinationthat best matches the input signal is selected (i.e., by selecting thecombination where the maximum occurs). A suitable granularity for thetime shift as between the various comparisons is a shift thatcorresponds to one sample. The frequency of the best-matching functionis then used as the best estimate of the frequency of the input signal.For example, if in solving F the maximum was found at (j=12, i=5), thiswould indicate that S-PFF₁₂ is the function which provided the maximumresult. Thus the frequency of function S-PFF₁₂ would be selected as thefrequency of the input signal I for outputting. In the context of pulseoximetry, the frequency will be the pulse rate (i.e., the heart rate).

In addition to optimizing the S-PFF for the expected signals, asdescribed above, the functions f₁-f_(n) and weighting constantsa₁-a_(n), which are part of F may be defined and optimized at a trainingstage to best fit a specific application and the characteristics of thesignals expected in that application. The optimization can be done usinga suitable standard optimization method such as MLS (mean least squares)or maximum likelihood.

In one preferred embodiment that is suitable for determining the pulserate in pulse oximetry systems using the preferred 633 function S-PFF 60(shown in FIG. 3), n=3 so the mathematical operator F includes onlythree functions f₁, f₂ and f₃. In this embodiment, the function f₁(i,j)is the sum of the products, obtained by multiplying the functions S-PFFjand input signal I, while shifted by i samples, and the weightingconstant a₁ is +1, resulting in the following equation: f₁(i,j)=Σ_(t)S-PFFj(t)*I(t−i). The function f₂(i,j) is the sum of differences betweenthe consecutive values I(t_(k)) of the input signal I and the weightingconstant a₂ is −1. The values {t_(k)} represent the indexes of themaxima of function S-PFFj(t). The function f₃(i, j) is the sum ofdifferences between the consecutive values I(t_(m)), of the input signaland the weighting constant a₃ is also −1. The values {t_(m)} representthe indexes of the minima of function S-PFFj(t). With this particularset of three functions, f₁ is mainly responsible for estimating thefrequency or the pulse rate of the input signal. Functions f₂ and f₃ aremainly responsible for preventing the harmonic frequencies of the inputsignal from interfering with the frequency estimation.

Once the best function within the S-PFF is selected, the indexes {t_(k)}represent the location of the maxima of the pulses while the indexes{t_(m)} represent the location of the minima of the pulses. Bysubtracting the values of the acquired signals at the {t_(m)} indexesfrom the values at the {t_(k)} indexes, the amplitude of the pulses canbe obtained. These values can be use for the calculation of the oxygensaturation level using standard oximetry methods.

Optionally, the pulse rate and/or the locations of the maxima and minimaof the pulses may be used to pick a particular segment of the pulsatilewave for further processing. For example, in a pulse oximetry system,once the maxima, minima, and pulse rate are identified, the variousphases of the cardiac cycle can be located (since the rising portioncorresponds to the beginning of the cardiac cycle, and the decliningportion corresponds to the end of the cardiac cycle). It turns out thatimproved results are obtained when samples that correspond to the risingportion are used for the SpO₂ calculations.

Turning now to FIG. 4, this approach may be extended further by taking alarge number of samples during each cardiac cycle. In the illustratedexample the incoming input signal 70 has a frequency of 1 Hz, whichcorresponds to 60 bpm, and has a relatively fast rising phase and aslower falling phase. By applying the signal processing techniquesdescribed above using the S-PFF 60 (shown in FIG. 3), the matching 60bpm (1 Hz) function 75 should be selected as described above. Ifsampling is sufficiently fast to provide 12 SpO₂ measurements persecond, overlaying the samples 71 of the input signal 70 onto theselected function 75 from the S-PFF enables differentiation between thevarious phases of the cardiac cycle. For example, samples on the risingphase of the input signal 70 can be identified by selecting the samplesthat correspond to the rising portion 76 of the selected function 75. Inthe illustrated example, sample 71′ would be identified as correspondingto the rising portion of the input signal 70. That sample 71′ wouldsubsequently be used for making the SpO₂ calculations.

The above-describe embodiments provide an accurate and efficientapproach for determining the frequency of a pulsatile input signal. Thisapproach can successfully succeed in calculating the pulse rate even forvery low SNR (Signal to Noise) values, which occur when the 10 acquiredreflected signal amplitude is low and the noise level is high. While theapproach is described above in the context of determining the heart rateand the pulse locations from pulse oximetry derived signals, it shouldbe recognized that these approaches may also be used to process otherphysiological pulsating signals. Moreover, the functions, frequency,resolution, duration, and frequency ranges set forth above are merelyexamples, and as such are not to be construed as limiting the presentinvention.

1. A method of determining the pulse rate of a living subject from apulse oximetry input signal, the method comprising the steps of:comparing the input signal at each of a plurality of different timeshifts to each member of a set of functions, wherein the set includesfunctions with a plurality of different frequencies between 30 to 240cycles per minute; selecting, based on results obtained in the comparingstep, a function from the set that best matches the input signal; andusing the frequency of the selected function as an estimate of the pulserate of the subject.
 2. The method of claim 1, further comprising thestep of removing DC and very low frequency components from the inputsignal, wherein the removing step is implemented before the comparingstep.
 3. The method of claim 1, wherein the functions in the set eachhave a duration between about 3 and about 5 seconds.
 4. The method ofclaim 3, wherein the set contains at least 211 functions.
 5. The methodof claim 1, wherein the frequencies of the functions in the set aredistributed in frequency to provide resolution of at least one cycle perminute.
 6. The method of claim 1, wherein the set contains a firstsubset of functions in which the rise time is shorter than the falltime, and the shape of all the functions in the first subset is similar.7. The method of claim 6, wherein the frequencies of the functions inthe first subset are distributed in frequency to provide resolution ofat least one cycle per minute.
 8. The method of claim 6, wherein the setfurther contains a second subset of functions in which the rise time isabout the same as the fall time, and the shape of all the functions inthe second subset is similar.
 9. The method of claim 8, wherein thefrequencies of the functions in the first subset and the second subsetare distributed in frequency to provide resolution of at least one cycleper minute.
 10. The method of claim 9, wherein the set further containsa third subset of functions in which the rise time is longer than thefall time, and the shape of all the functions in the third subset issimilar.
 11. The method of claim 1, wherein the comparing and selectingsteps are implemented based on the formulaF=MAX_(i,j) {a ₁ *f ₁(S _(—) PFFj(t),I(t−i))+a ₂ *f₂(S-PFFj(t),I(t−i))+a ₃ *f ₃(S-PFFj(t),I(t−i)) . . . +a_(n) *f_(n)(S-PFFj(t),I(t−i))} where: f₁-f_(n) are a set of n linear ornon-linear functions; S-PFF is a set of pre-defined frequency functions,as detailed above; j is an index indicating a selected S-PFF functionfrom the N S-PFF functions defined (note that n is independent of N);a₁-a_(n) are selected weighting constants * is the multiplicationoperator; I is the input signal; t is an index indicating a specificsample of S-PFFj and I (i.e. these functions at time t); and i is aselected shift value, which indicates the current shift between thefunction S-PFFj and the input signal I.
 12. The method of claim 1,wherein the comparing and selecting steps are implemented based on theformulaF=MAX_(i,j) {f ₁(S-PFFj(t),I(t−i))−f ₂(S-PFFj(t),I(t−i))−f₃(S-PFFj(t),I(t−i))}, where: the function f₁(i, j) is the sum of theproducts, obtained by multiplying the functions S-PFFj and input signalI, while shifted by i samples, resulting in the equation f₁(i,j)=Σ_(t)S-PFFj(t)*I(t−i); the function f₂(i, j) is the sum of differencesbetween the consecutive values I(t_(k)) of the input signal I, where thevalues {t_(k)} represent the indexes of the maxima of functionS-PFFj(t); the function f₃(i, j) is the sum of differences between theconsecutive values I(t_(m)), of the input signal, where the values{t_(m)} represent the indexes of the minima of function S-PFFj(t); S-PFFis a set of pre-defined frequency functions; j is an index indicating aselected S-PFF function from the N S-PFF functions defined; I is theinput signal; t is an index indicating a specific sample of S-PFFj and I(i.e. these functions at time t); and i is a selected shift value, whichindicates the current shift between the function S-PFFj and the inputsignal I.
 13. A method of determining the frequency of a pulsatile inputsignal, the method comprising the steps of: comparing the input signalat each of a plurality of different time shifts to each member of a setof functions, wherein the set includes functions with a plurality ofdifferent frequencies in a frequency range that is expected for theinput signal; selecting, based on results obtained in the comparingstep, a function from the set that best matches the input signal; andusing the frequency of the selected function as an estimate of thefrequency of a input signal.
 14. The method of claim 13, furthercomprising the step of removing DC and very low frequency componentsfrom the input signal, wherein the removing step is implemented beforethe comparing step.
 15. The method of claim 13, wherein the set containsa first subset of functions, and the shape of all the functions in thefirst subset is similar.
 16. The method of claim 15, wherein the setcontains a second subset of functions, and the shape of all thefunctions in the second subset is similar.
 17. The method of claim 13,wherein the comparing and selecting steps are implemented based on theformulaF=MAX_(i,j) {a ₁ *f ₁(S _(—) PFFj(t),I(t−i))+a ₂ *f₂(S-PFFj(t),I(t−i))+a ₃ *f ₃(S-PFFj(t),I(t−i)) . . . +a_(n) *f_(n)(S-PFFj(t),I(t−i))} where: f₁-f_(n) are a set of n linear ornon-linear functions; S-PFF is a set of pre-defined frequency functions,as detailed above; j is an index indicating a selected S-PFF functionfrom the N S-PFF functions defined (note that n is independent of N);a₁-a_(n) are selected weighting constants * is the multiplicationoperator; I is the input signal; t is an index indicating a specificsample of S-PFFj and I (i.e. these functions at time t); and i is aselected shift value, which indicates the current shift between thefunction S-PFFj and the input signal I.